package iinf

//Session 会话接口
type Session interface {
	//Init
	Init(...interface{}) bool
	//GetID 获取会话id
	GetID() int
	//IsQuit 会话是否退出状态
	IsQuit() bool
	//Show 显示会话相关信息
	Show()
	//GetInfo 获取相关信息
	GetInfo() string
	//Close 关闭会话，做些收尾工作
	Close()
	//SyncSession 看下是否有二级会话需要同步
	SyncSession()
}

//SessionBase 继承基类，可以方便不全实现接口
type SessionBase int

//Init init
func (s *SessionBase) Init(args ...interface{}) bool {
	return false
}

//GetID GetID
func (s *SessionBase) GetID() int {
	return -1
}

//IsQuit IsQuit
func (s *SessionBase) IsQuit() bool {
	return false
}

//Show Show
func (s *SessionBase) Show() {
}

//GetInfo GetInfo
func (s *SessionBase) GetInfo() string {
	return ""
}

//Close close
func (s *SessionBase) Close() {
}

//SyncSession SyncSession
func (s *SessionBase) SyncSession() {
}
